#!/bin/bash

# 知识图谱应用停止脚本

echo "🛑 停止 Neo4j 知识图谱应用"
echo "================================"

# 停止 Node.js 应用进程
echo "📱 停止 Web 应用..."
PKILL_OUTPUT=$(pkill -f "node.*server.js" 2>&1)
if [ $? -eq 0 ]; then
    echo "✅ Web 应用已停止"
else
    echo "ℹ️  没有运行中的 Web 应用进程"
fi

# 检查 Docker Compose 是否可用
if command -v docker-compose &> /dev/null; then
    COMPOSE_CMD="docker-compose"
elif docker compose version &> /dev/null; then
    COMPOSE_CMD="docker compose"
else
    echo "⚠️  Docker Compose 不可用，尝试直接停止容器"
    docker stop neo4j-knowledge-graph 2>/dev/null
    if [ $? -eq 0 ]; then
        echo "✅ Neo4j 容器已停止"
    else
        echo "ℹ️  没有运行中的 Neo4j 容器"
    fi
    exit 0
fi

# 停止 Docker 服务
echo "🗄️  停止 Neo4j 数据库..."
$COMPOSE_CMD down

if [ $? -eq 0 ]; then
    echo "✅ Neo4j 数据库已停止"
else
    echo "⚠️  停止 Neo4j 时出现问题"
fi

echo ""
echo "✅ 所有服务已停止"
echo ""
echo "💡 提示:"
echo "   - 数据已保存在 Docker 卷中，下次启动时会保留"
echo "   - 如需完全清理数据，请运行: $COMPOSE_CMD down -v"
echo "   - 重新启动请运行: ./start.sh"
echo ""